public class Practise {
    public static void main(String[] args) {
        //字符串逆置，如 "I am a student" 逆置为 "student a am I"
//        String str = "coordination cooperation";
//        System.out.println(reverseString(str));
        String str1 = "abc";
        String str2 = "abc";
        if(str1.equals(str2)) {
            System.out.println("yes");
        }
    }
    public static String reverseString(String str) {
        char[] tmp = new char[str.length()];
        int k = 0;
        for(int i = str.length()-1; i>=0; i--) {
            tmp[k++] = str.charAt(i);
        }
        return new String(tmp);
    }
}
/**
 * 复习内部类相关知识*/
//class OuterClass{
//    //示例内部类 - 定义在成员变量位置，不加static修饰
//    class InnerClass{
//        private int a;
//        public int b;
//        {
//            a = 5;
//            b = 6;
//        }
//    }
//
//    public static void main(String[] args) {
//        //若想实例化 实例内部类，必须先实例化外部类
//        OuterClass outerClass = new OuterClass();
//        OuterClass.InnerClass innerClass = outerClass.new InnerClass();
//    }
//}

/**
 * 复习静态内部类相关知识*/
class OuterClass{
    public int a;
    public int b;
    private int c;
    public static int d;
    static class InnerClass{
        public void method() {
            /**
             * 静态内部类只能访问外部内中的静态成员变量
             * 静态内部类若是想要访问外部类中的非static修饰的成员变量
             * 需要在内部类中实例化外部类对象*/
            OuterClass outerClass = new OuterClass();
            System.out.println(outerClass.a);
            System.out.println(outerClass.b);
            System.out.println(outerClass.c);
            System.out.println(d);
        }
    }

    public static void main(String[] args) {
        OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
        innerClass.method();
        /**
         * 实例化静态内部类不依赖于外部类实例对象，故更加通用*/
    }
}